

function trimSpace (str) {
  return str.replace(/\s+/g, '');
}

function checkAndGetDatas (_self, res) {
  
  return new Promise((resolve, reject) => {
    const errorCode = res.error_code,
            data = res.data;

      if(errorCode === 10006) {
        //未登陆
        alert('未登录!');
        const { history } = _self.props;
        history.push('/login');
        return;
      }

      if(errorCode === 20001) {
        alert('获取数据失败，请检查请求');
        return;
      }

      if(errorCode === 0 && data) {
        resolve(data);
        return;
      }else {
        const { history } = _self.props;
        history.push('/error')
      }
      
  })
}

/* 高阶函数处理按钮确认提示*/
function comfirmText (field) {
  return function (status) {
    switch (field) {
      case 'COLLECTION':
        return `确认要${ status ? '下架': '上架' } 该集合吗`;
      case 'COURSE':
        return `确认要${ status ? '下架': '上架' } 该课程吗`;
      case 'RECOM_COURSE':
        return `确认要${ status ? '下架': '上架' } 该课程吗`;
      case 'SLIDER':
        return `确认要${ status ? '下架': '上架' } 该轮播图吗`;
      case 'STUDENT':
        return `确认要${ status ? '下线': '上线' } 该学生吗`;
      case 'TEACHER':
        return `确认要${ status ? '下线': '上线' } 该老师吗`;
      case 'STAR_TEACHER':
        return `确认要设置该老师为${status ? '非明星老师': '明星老师'}吗？`;
      default:
        break; 
    }
  }
}


export {
  trimSpace,
  checkAndGetDatas,
  comfirmText
}